<template>
	<div class="photoinfo-container">
		<h3>{{ photoinfo.title }}</h3>
		<p class="subtitle">
			<span>发表时间:{{ photoinfo.add_time | dateFormat }}</span>
			<span>点击: {{ photoinfo.click }}次</span>
		</p>
		<hr>

		<!-- 缩略图区域 -->
		<!-- https://blog.csdn.net/weixin_42628334/article/details/93140010 -->
		<div class="thumbs">
			<vue-preview :slides="slide1" @close="handleClose"></vue-preview>
		</div>
		
		<!-- 图片内容区 -->
		<div class="content" v-html="photoinfo.content"></div>

		<!-- 评论子组件 -->
		<!-- 3.以标签形式放入 -->
		<cmt-box :id="id"></cmt-box>
	</div>
</template>


<script>
	import { Toast } from 'mint-ui'

	// 1. 导入评论子组件
	import comment from '../subcomponents/comment.vue'

	export default{
		data(){
			return {
				id: this.$route.params.id,  //从路由中获取到的图片id
				photoinfo: {},               //图片详情
				slide1: []                   //缩略图的数组
			}
		},
		created(){
			this.getPhotoInfo(),
			this.getThumbs()
		},
		methods:{
			getPhotoInfo(){
				// 获取图片的详情
				this.$http.get('api/getimageInfo/' + this.id).then(result => {
					if( result.body.status === 0 ) {
						this.photoinfo = result.body.message[0]
					}else{
						Toast('获取图片详情数据失败')
					}
				})
			},
			getThumbs(){
				//获取缩略图
				this.$http.get('api/getthumimages/' + this.id).then(result => {
					if(result.body.status === 0){
						// 循环每个图片数据, 补全图片的宽和高
						result.body.message.forEach(item => {
							item.w = 600,        //设置以大图浏览时的宽度
							item.h = 400,        //设置以大图浏览时的高度
							item.msrc = item.src  //小图   关键点
						})
						// 把完整的数据保存到 slide1中
						this.slide1 = result.body.message
					}else{
						Toast('获取图片信息失败')
					}
				})
			},
			handleClose () {
        		console.log('close event')
      		}			
		},
		components:{  //注册子组件
			'cmt-box': comment
		}
	}
</script>

<style lang="scss" scoped>
	.photoinfo-container{
		padding: 3px;
		h3{
			color:#26A2FF;
			font-size:15px;
			text-align: center;
			margin: 15px 0;
		}
		.subtitle{
			display: flex;
			justify-content: space-between;
			font-size:13px;
		}
		.content{
			font-size:10px;
			line-height: 25px;
		}
		.thumbs{
			img{
				margin: 10px;
				box-shadow: 0 0 8px #999; 
			}
		}
	}
</style>